
let n = 9527 ; 
console.log( n , typeof( n ) );
// 自动装箱: 
// 将变量n中存储的number值包裹到一个Number实例中才可以调用 toString函数
console.log( n.toString() );
console.log( n.toLocaleString() ); // 自动装箱

// 这里的m是个引用变量，其中存储的是 堆区 中 Number实例的首地址
let m = new Number( 9527 );
console.log( m , typeof( m ) );

// 自动拆箱:
// 先将m引用的实例中包裹的原生值取出，然后再跟n变量中存储的值比较
console.log( m == n ); // true
console.log( m === n ); // false

console.log( '- - - - - - - - - - - - - - - - - - - - -' );

let a = 8526 ;
console.log( a , typeof( a ) );

let b = Object( a );
console.log( b , typeof( b ) );

// 自动拆箱:
// 首先将b引用的实例中包裹的原生值取出，然后再执行加法运算
let c = b + 100 ;
console.log( c , typeof( c ) );

console.log( '- - - - - - - - - - - - - - - - - - - - -' );

let p = '0xFFFFFF' ;
console.log( p , typeof( p ) );

let q = Number( p ); // 将 Number 当作转换函数使用
console.log( q , typeof( q ) );

let h = p * 1 ; // 可以使用 "乘一大法" 将 string 表示的数值转换为 number 类型
console.log( h , typeof( h ) );